home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / program / euphor14.zip / TROUBLE.DOC < prev    next >
Text File  |  1996-05-20  |  5KB  |  120 lines

  1.  
  2.     Euphoria Trouble-Shooting Guide
  3.     -------------------------------
  4.  
  5.    Here are some commonly reported problems (P:) and their 
  6.    solutions (S:). 
  7.  
  8. P: I'm having trouble running a graphics program. I hit control-break
  9.    and now my system seems to be dead.
  10.  
  11. S: Some graphics programs will not run unless you start them from DOS or from a 
  12.    full-screen window under Windows. Sometimes you have to edit the program 
  13.    source to use a lower resolution graphics mode, such as mode 18.
  14.    
  15.    You should stop a program using the method that the program documentation 
  16.    recommends. If you abort a program with control-C or control-Break you may 
  17.    find that your screen is left in a funny graphics mode using funny colors. 
  18.    When you type something, it may be difficult or even impossible to read 
  19.    what you are typing. The system may even appear dead, when in fact it is 
  20.    not.
  21.    
  22.    Try the following DOS commands, in the following order, until you 
  23.    clear things up:
  24.         
  25.             1. type:  cls
  26.                Even when you can't see any keystrokes echoed on the screen
  27.                this may clear the screen for you.
  28.             
  29.             2. type:  ex
  30.                The Euphoria interpreter will try to restore a normal text
  31.                mode screen for you.
  32.             
  33.             3. type:  exit   
  34.            If you are running under Windows, this will terminate the
  35.            DOS session for you.
  36.         
  37.         4. type:  Control-Alt-Delete
  38.            This will let you kill the current DOS session under Windows,
  39.            or will soft-reboot your computer if you are running under
  40.            DOS.
  41.         
  42.         5. If all else fails, power your computer off and back on.
  43.            You should immediately run SCANDISK or CHKDSK when
  44.            the system comes back up.
  45.  
  46. P: When I run my program there are no errors but nothing
  47.    happens.
  48. S: You probably forgot to call your main procedure. You need
  49.    a top-level statement that comes after your main procedure
  50.    to call the main procedure and start execution. 
  51.  
  52. P: I'm trying to call a routine documented in library.doc, but it keeps
  53.    saying the routine has not been declared.
  54. S: Did you remember to include the necessary .e file from the
  55.    euphoria\include directory? If the syntax of the routine says 
  56.    for example, "include graphics.e", then your program must have 
  57.    "include graphics.e" (without the quotes) before the place where you
  58.    first call the routine.
  59.  
  60. P: I have an include file with a routine in it that I want to call,
  61.    but when I try to call the routine it says the routine has not 
  62.    been declared. But it *has* been declared.
  63. S: Did you remember to define the routine with "global" in front
  64.    of it in the include file? Without "global" the routine is
  65.    not visible outside of its own file.
  66.  
  67. P: After inputting a string from the user with gets(), the next line that
  68.    comes out on the screen does not start at the left margin.
  69. S: Your program should output a new-line character
  70.    e.g. puts(SCREEN, '\n') after you do a gets(). It does
  71.    not happen automatically.
  72.  
  73. P: It says I'm attempting to redefine my for-loop variable.
  74. S: For-loop variables are declared automatically. Apparently you
  75.    already have a declaration with the same name earlier in
  76.    your routine or your program. Remove that earlier declaration
  77.    or change the name of your loop variable.
  78.  
  79. P: I get the message "unknown escape character" on a line where I am 
  80.    trying to specify a file name.
  81. S: *Do not* say "C:\TMP\MYFILE". You need to say "C:\\TMP\\MYFILE".
  82.    Backslash is used for escape characters such as \n or \t.
  83.    To specify a single backslash in a string you need to type \\.
  84.    
  85. P: I'm trying to use mouse input in a SVGA graphics mode but it just
  86.    doesn't work.
  87. S: DOS does not support mouse input in modes beyond graphics mode 18
  88.    (640x480 16 color). DOS 7.0 (part of Windows 95) does seem to let
  89.    you at least read the x-y coordinate and the buttons in high
  90.    resolution modes, but you may have to draw your own mouse pointer
  91.    in the high-res modes.
  92.  
  93. P: I'm trying to print a string using printf but only the first
  94.    character comes out.
  95. S: See the printf description in library.doc. You may need to put
  96.    braces around your string so it is seen as a single value to
  97.    be printed, e.g. you wrote: 
  98.        
  99.        printf(1, "Hello %s", mystring)
  100.    
  101.    where you should have said:
  102.        
  103.        printf(1, "Hello %s", {mystring})
  104.  
  105. P: It complains about my routine declaration, saying "a type is expected here".
  106. S: When declaring subroutine parameters, Euphoria requires you
  107.    provide an explicit type for each parameter. e.g.
  108.        procedure foo(integer x, y) -- WRONG
  109.        procedure foo(integer x, integer y) -- RIGHT
  110.    In all other contexts it is ok to make a list:
  111.        atom a, b, c, d, e
  112.        
  113. P: I'm declaring some variables in the middle of a routine and it gives
  114.    me a syntax error.
  115. S: All of your private variable declarations must come at the beginning
  116.    of your subroutine, before any executable statements. (Note that at the
  117.    top-level of a program, outside of any routine, it is ok to declare 
  118.    variables anywhere.)
  119.  
  120.